package cn.com.zpark.dao.impl;

import cn.com.zpark.dao.ILoginDao;
import cn.com.zpark.pojo.Emp;
import cn.com.zpark.utils.DruidUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * @PackageName: cn.com.zpark.dao.impl
 * @ClassName: LoginDaoImpl
 * @Description:持久层实现类
 * @author: RZS
 * @date: 2021/12/8  11:24
 */
public class LoginDaoImpl implements ILoginDao {

    /**
     * 根据用户名查询数据
     * @param username 用户名
     * @return 有数据返回对象，否则返回null
     */
    @Override
    public Emp selectByUsername(String username) throws Exception {
        // 获取数据库连接
        Connection conn = DruidUtils.getConn();
        // 编写sql
        String sql = "select * from user where username=?";
        // 获取sql预处理对象
        PreparedStatement stat = conn.prepareStatement(sql);
        // 替换占位符
        stat.setString(1, username);
        // 执行
        ResultSet res = stat.executeQuery();
        // 封装数据
        Emp emp = null;
        while (res.next()) {
            emp = new Emp();
            // 封装
            emp.setId(res.getInt("id"));
            emp.setUsername(res.getString("username"));
            emp.setPwd(res.getString("pwd"));
        }
        // 释放资源
        DruidUtils.close(res, conn, stat);
        // 返回结果
        return emp;
    }
}
